day01 |
您所在的位置:网站首页 › springcloud alibaba seata › day01 |
SpringCloud&Spring Cloud Alibaba基本介绍
1.SpringCloud基本介绍
SpringCloud官方文档 1.1提出问题先思考一个问题,没有微服务技术,是不是程序员就不能开发大型项目? 是可以的,对大型项目进行模块划分,对各个模块进行实现。但模块之间更多地是以API调用完成,耦合度较高,不利于拓展和维护(在没有微服务技术时,很多大型项目就已经使用了微服务的概念) 标准化的微服务解决方案(SpringCloud 和 SpringCloud Alibaba)出现的原因和价值是什么? (1)微服务可以根据业务不同,将一个大项目分解成不同的服务(比如搜索服务/网关服务/配置服务/存储服务/发现服务等等) (2)各个服务通过分布式方式进行工作,从而可以高效,快速,稳定地完成复杂的功能 (3)可以理解为:原来大项目的某些模块->抽出形成微服务->配合分布式工作方式->从而高效,快速稳定地完成复杂功能 ![]() ![]() ![]() ![]() ![]() ”微服务“一词源于 Martin Fowler 的名为 Microservices 的博文。简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的Restful API进行通信协作。 被拆分的每一个小型服务,都围绕着系统中的某一项,或一些耦合度较高的业务功能进行构建,并且每个服务都维护着自身的数据存储、业务开发、自动化测试案例以及独立部署机制。由于有轻量级的通信协作基础,所以这些微服务可以使用不同的语言来编写。 1.3SpringCloud全面说明 SpringCloud 来源于 Spring,是更高层次的、架构视角的综合性大型项目,目标旨在构建一套标准化的微服务解决方案,让架构师在使用微服务理念构建系统时,面对各个环节都可以找到相应的组件来处理 SpringCloud 是 Spring 社区为微服务架构提供的一个 “全家桶” 套餐。套餐中各个组件之间的配合,可以减少组件选型和整合上花费的精力,可以快速构建起基础的微服务架构系统,是微服务架构的最佳落地方案 SpringCloud 天然支持 SpringBoot(有版本对应要求),使用门槛较低 SpringCloud 解决了与分布式系统相关的复杂性——网络问题,延迟开销,带宽问题,安全问题 有处理服务发现的能力——服务发现允许集群中的进程和服务找到彼此并进行通信 可以处理冗余问题——冗余问题经常发生在分布式系统中 能够解决负载平衡——改进跨多个计算资源(例如计算机集群、网络连接、中央处理单元)的工作负载分布 1.4SpringCloud核心组件图![]() SpringCloud 核心组件一览图,文档 : https://spring.io/projects/spring-cloud ![]() Spring Cloud Alibaba 文档地址: https://github.com/alibaba/spring-cloud-alibaba ![]() Spring Cloud Netflix 地址: https://github.com/Netflix ![]() Spring | Microservices 分布式工作的简单示意图: ![]() ![]() spring-cloud-alibaba/README-zh.md at 2022.x · alibaba/spring-cloud-alibaba (github.com) 官方项目介绍: Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。 此外,阿里云同时还提供了 Spring Cloud Alibaba 企业版 微服务解决方案,包括无侵入服务治理(全链路灰度,无损上下线,离群实例摘除等),企业级 Nacos 注册配置中心和企业级云原生网关等众多产品。 参考文档 请查看 WIKI 。 2.2核心组件Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。 Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。 Alibaba Cloud OSS: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 Alibaba Cloud SchedulerX: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。 Alibaba Cloud SMS: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。 2.3分布式微服务的技术选型 SpringCloud 原生组件的几大痛点 SpringCloud 部分组件停止维护和更新,给开发带来不便 SpringCloud 部分环境搭建复杂,没有完善的可视化界面,需要大量的二次开发和定制 SpringCloud 配置复杂,难以上手 Spring Cloud Alibaba 的优势 Alibaba 使用过的组件经历了考验(高并发、高性能、高可用),性能强悍,设计合理 搭建了完善的可视化界面给开发运维带来极大的便利,搭建简单,学习曲线低 分布式微服务技术选型建议 Spring Cloud Alibaba组件为主 SpringCloud 为辅(比如 Ribbon:负载均衡、OPenFeign:调用远程服务、Gateway:API网关、Sleuth:调用链监控等) |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |